﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PaceR.Core.Interfaces.Conditionals
{
    public interface IConditionRuleContainer : IConditionalOperation
    {
        // Methods return IConditionRule for Fluent Interface
        IConditionRule If(IConditionTestable test, IConditionalOperation thenOperation);
        IConditionRule If<T, TResult>(IConditionTestable test, Func<T, TResult> thenOperation, T argument);
        IConditionRule If<T>(IConditionTestable test, Action<T> thenOperation, T argument);
    }
}
